鉴于 Android 提供的 ImageView 控件已经非常完善,不仅处理好了各种缩放问题,而且有着很好的兼容性,还实现了显示图片等一系列的任务,我们只要在它的基础上添加一个显示圆角圆形的功能即可。
一、属性配置
首先创建一个 res/values/attrs.xml 文件:
二、代码实现
1. 思路
- 定义一个 Java 类 RoundImageView,继承自 ImageView,重写其构造方法,获取配置属性进行初始化。
- 重写 onMeasure 方法,当模式为圆形的时候使其控件的宽高一致。
- 重写 onDraw 方法,增加两种模式处理逻辑。
2. 完整代码
|
|
在 onDraw 方法中,以下代码是我们添加的逻辑,其余代码为 ImageView 源代码。
3. 在布局文件中使用
效果如首图所示。